/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

//Serve para tipos Especificos//Serve para tipos Especificos//Serve para tipos Especificos//Serve para tipos Especificos
//adcione essa linha onde a tabela é criada
//tabela.setDefaultRenderer(BigDecimal.class, new CellRenderer());
package table;

import java.awt.Component;
import java.math.BigDecimal;
import java.text.NumberFormat;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
 *
 * @author Welisson
 */
public class CellRenderer extends DefaultTableCellRenderer {

    @Override
    public Component getTableCellRendererComponent(JTable jtable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        super.getTableCellRendererComponent(jtable, value, isSelected, hasFocus, row, column);

        Object val = jtable.getValueAt(row, column);
        //verifica se o valor é do tipo esperado
        if (val instanceof BigDecimal) {
            // faz o casting para BigDecimal
            BigDecimal mensalidade = (BigDecimal) val;
            // formata o valor e seta como o texto do renderer
            NumberFormat nf = NumberFormat.getCurrencyInstance();
            setText(mensalidade != null ? nf.format(mensalidade) : "");
        }
        
        return this;
    }

}
